<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Produksi extends CI_Controller
{
	function __construct()
	{
		parent::__construct();
		$this->load->library(array('form_validation','server_processing','calendar_id'));
		$this->load->helper(array('form','url'));
		$this->load->model('produksi_model','',TRUE);
	}
	
	function index()
	{
		$partial['_header']='template/header';
		$partial['_sidebar']="template/sidebar";
		$partial['_contents']="produksi/produksi";	
		$data['title']='Produksi';
		
		$notif = $this->uri->segment(3);
		if($notif == '1')
		$data['notif'] = 'Data berhasil ditambah';
		else if($notif == '2')
		$data['notif'] = 'Data berhasil dihapus';
		else if($notif == '3')
		$data['notif'] = 'Update data success';
		else
		$data['notif'] = '';
		
		$data['get_pemesanan'] = $this->produksi_model->get_nama_pemesanan();
		$this->template->load('index',$partial,$data);
	}
	
	function tampil_data()
	{
		$id_pemesanan = $this->uri->segment(3);
		$segmen = $this->uri->segment(7);
		$data['tahun'] = gmdate('Y', time()+60*60*7);
		$data['current_date'] = gmdate('Y-m-d', time()+60*60*7);
		
		if($this->uri->segment(4)!=0 && $this->uri->segment(5)!=0)
		{
			$tanggal = $this->uri->segment(5);
			$bulan = $this->uri->segment(4);
			$nama_hari = $this->uri->segment(6);
			
			if($nama_hari > 6) $nama_hari = 0;
			else if($nama_hari < 0) $nama_hari = 6;
			
			$data['tanggal'] = $tanggal + $segmen;
			$data['bulan'] = $bulan;
			$data['nama_hari'] = $nama_hari + $segmen;
		}
		else
		{
			$data['tanggal'] = gmdate('d', time()+60*60*7)+$segmen;
			$data['bulan'] = gmdate('m', time()+60*60*7);
			$data['nama_hari'] = (gmdate('w', time()+60*60*7)+$segmen)%7;
		}
		
		//validasi beda bulan
		$data['jumlah_hari'] = $this->calendar_id->jumlah_hari($data['bulan'],$data['tahun']);
		if($data['tanggal'] < 1)
		{
			$data['bulan']-=1;
			$data['jumlah_hari'] = $this->calendar_id->jumlah_hari($data['bulan'],$data['tahun']);
			$data['tanggal'] = $data['jumlah_hari']+$data['tanggal'];
			if($data['bulan'] < 1)
			{
				$data['tahun']-=1;
				$data['bulan']= 12;
			}
			$data['jumlah_hari'] = $this->calendar_id->jumlah_hari($data['bulan'],$data['tahun']);
		}
		else if($data['tanggal'] > $data['jumlah_hari'])
		{
			$data['tanggal'] = 1;
			$data['bulan']+=1;
			if($data['bulan'] > 12)
			{
				$data['tahun']+=1;
				$data['bulan']= 1;
			}
			$data['jumlah_hari'] = $this->calendar_id->jumlah_hari($data['bulan'],$data['tahun']);
		}
		$data['id_pemesanan'] = $id_pemesanan;
		$id_barang = $this->produksi_model->get_id_barang($id_pemesanan);
		$data['query'] = $this->produksi_model->get_data($id_pemesanan);
		$data['query2'] = $this->produksi_model->get_langkah_kerja($id_barang);
		
		$data['deadline'] = $this->produksi_model->get_deadline($id_pemesanan);;
		$this->load->view('produksi/tampil_data',$data);
	}
	
	function tampil_kebutuhan()
	{
		$id_pemesanan = $this->uri->segment(3);
		$id_barang = $this->produksi_model->get_id_barang($id_pemesanan);
		$data['query'] = $this->produksi_model->get_kebutuhan($id_barang);
		$data['jumlah_pemesanan'] = $this->produksi_model->get_jumlah_pemesanan($id_pemesanan); 
		$data['id_pemesanan'] = $id_pemesanan;
		$this->load->view('produksi/tampil_kebutuhan',$data);
	}
	
	function save()
	{	
		$data['id_produksi'] = $this->input->post('id_produksi');		
		$data['id_pemesanan'] = $this->input->post('id_pemesanan');
		$data['id_langkah_kerja'] = $this->input->post('id_langkah_kerja');
		$data['jumlah'] = $this->input->post('jumlah');
		$data['tanggal'] = $this->input->post('tanggal');
		
		if($data['id_produksi'] == 0)
		{
			$data['id_produksi'] = NULL;
			$this->produksi_model->save($data);
		}
		else
		{	
			if($data['jumlah'] == 0)
			{
				$this->produksi_model->delete($data['id_produksi']);
			}
			else
			{
				$this->produksi_model->update($data);
			}
		}
	}
	
	function delete()
	{
		$id_produksi = $this->input->post('id_produksi');
		
		$this->produksi_model->delete($id_produksi);
	}
	
	function get_id_produksi()
	{
		$query = $this->produksi_model->get_last_produksi()->row();
		
		$data['last_id_produksi']=$query->id_produksi;
		
		$this->load->view('produksi/last_produksi',$data);
	}
}